package com.travel.service;

import java.util.List;

import com.travel.entity.Scenic;
import com.travel.util.PageInfo;
/**
 * 景点业务层
 * @author huangyanbin 
 *
 */
public interface ScenicService {

	/**
	 * 	查询所有景点信息
	 * @return
	 */
	List<Scenic> find();
	
	/**
	 * 	对景点进行新增
	 * @param scenic 景点
	 * @return
	 */
	boolean insertScenic(Scenic scenic);
	
	/**
	 * 	对景点进行修改
	 * @param scenic 景点
	 * @return
	 */
	boolean updateScenic(Scenic scenic);
	
	/**
	 * 	通过景点编号对景点进行删除
	 * @param deleteId 景点编号
	 * @return
	 */
	boolean deleteId(int deleteId);

	/**
	 * 根据景点名称关键字查询相关记录
	 * @param scenicName 景点名称
	 * @return
	 */
	List<Scenic> getByScenicName(String scenicName);
	
	/**
	 * 所有记录的分页
	 * @param pageNum 页码
	 * @param pageSize 记录数
	 * @return 分页工具类
	 */
	PageInfo<Scenic> findByPage(int pageNum,int pageSize);
	
	/**
	 * 有条件的分页查询
	 * @param pageNum 页码
	 * @param pageSize 记录数
	 * @param scenicName 景点名称
	 * @return 分页工具类
	 */
	PageInfo<Scenic> findByPage(int pageNum,int pageSize,String scenicName);
	
	/**
	 * 根据景点编号查询景点记录
	 * @param scenicId 景点编号
	 * @return
	 */
	Scenic getByScenicId(int scenicId);
	
	/**
	 * 根据景点名称查询景点是否存在
	 * @param userName 景点名称
	 * @return
	 */
	List<Scenic> getScenicByScenicName(String scenicName);
	
	/**
	 * 订单量排序
	 * */
	List<Scenic> recommendScenic();
}
